class Cat:

    # 每次进行对象生成的时候都会调用init方法 类似于Java中的构造方法
    def __init__(self, name="默认猫"):
        self.name = name
        print("这个一个初始化方法")

    def __del__(self):
        print("del方法")
        pass

    def __str__(self):
        print("")
        return "%s " % self.name +"str"

    def eat(self):
        """Self变量指的就是当前引用"""
        print("%s 爱吃鱼" % self.name)
        pass

    def drink(self):
        print("%s 爱喝水" % self.name)
        pass


tom = Cat("懒猫")
tom.eat()
tom.drink()
print(tom)
# print("%x" % id(tom))

lay_tom = Cat("勤快猫")
lay_tom.eat()
lay_tom.drink()
# print(lay_tom)

print("-" * 50)
